package com.ljxt.dt.service.basicinformationservice;

import com.ljxt.dt.domain.GoodsInfo;
import com.ljxt.dt.domain.SupplierInfo;
import com.ljxt.dt.domain.SupplierType;
import com.ljxt.dt.vo.basicInformation.GoodsInfoVO;
import com.ljxt.dt.vo.basicInformation.SupplierListVO;

import java.util.List;

/**
 * @author 糖糖
 * @version 1.0.0
 * @date 2020/5/12 14:41
 * @copyright 老九学堂
 */
public interface SupplierListService {

    /**
     * 查询所有的供应商
     * @return
     */
    List<SupplierInfo> findAllSuppliers();

    /**
     * 供应商页面根据条件进行模糊查找
     * @param currentIndex
     * @param pageSize
     * @param supplierName
     * @param typeId
     * @param id
     * @return
     */
    List<SupplierListVO> findAll(Integer currentIndex, Integer pageSize, String supplierName, Integer typeId, Integer id);

    /**
     * 查找供应商类型
     * @return
     */
    List<SupplierType> selectSupplierType();

    /**
     * 供应商页面根据条件查询总数
     * @param currentIndex
     * @param pageSize
     * @param supplierName
     * @param typeId
     * @param id
     * @return
     */
    int selectCount(int currentIndex, int pageSize, String supplierName, int typeId, int id);

    /**
     * 通过编号和名字模糊查找
     * @param id
     * @param goodsName
     * @return
     */
    List<GoodsInfoVO> findALLGoods(int id, String goodsName, int currentIndex, int pageSize);

    /**
     * 通过商品编号和商品名字信息查找商品数量
     * @param id
     * @param goodsName
     * @param currentIndex
     * @param pageSize
     * @return
     */
    int findALLGoodsCount(int id, String goodsName, int currentIndex, int pageSize);

    /**
     * 新增供应商
     * @param id
     * @param typeName
     * @param address
     * @param contactName
     * @param phone
     * @param goodsIdArray
     * @return
     */
    boolean addNewSupplier(int id, String typeName, String address, String contactName, String phone, String[] goodsIdArray);


    /**
     * 根据供应商编号查找对应的商品信息
     * @param id
     * @return
     */
    List<GoodsInfoVO> findSupplierGoods(int id);

    /**
     * 根据修改后的信息执行修改功能
     * @param id
     * @param typeId
     * @param supplierName
     * @param address
     * @param contactName
     * @param phone
     * @param goodsIdArray
     * @return
     */
    boolean updateSupplier(int id, int typeId, String supplierName, String address, String contactName, String phone, String[] goodsIdArray);


}
